草庐IT

SQL ALTER TABLE 语句

全部标签

mysql - 将 SELECT 中的相关子查询重写为 JOIN 语句

我有以下源表:CREATETABLEtest(`step`varchar(1),`cost_time`int,`rank_no`int);INSERTINTOtest(`step`,`cost_time`,`rank_no`)VALUES('a',10,1),('b',20,2),('c',30,3);然后像这样查询:selectmain.step,main.cost_time,main.rank_no,(selectsum(sub.cost_time)fromtestsubwheresub.rank_no结果是预期的:|step|cost_time|rank_no|total_tim

mysql - 插入到 Delphi 10.2 Tokyo 语句中的语法错误

我在编码方面需要帮助,我已经尝试更改变量并显示SQL,但我仍然看不到错误谢谢。这是我的代码:qryCustomerInformation.SQL.Add('/*TheSQLquerystringfrombelow*/');showmessage(qryCustomerInformation.SQL.Text);qryCustomerInformation.ExecSQL;这是我的查询字符串:INSERTINTOBasicInformation(Passwords,CustomerID,Names,Surname,Age,IdentitiyNumber,Address,CardNumbe

mysql - 如何将同一表中的总值显示为一行(在 case 语句中)?

我有一个问题:SELECTt.diapason,COUNT(distinctuser_id)AS'number_of_users'FROM(SELECTp.user_id,p.amountastotal,CASEwhenamount100andamount150then'>150+'ENDASdiapasonFROM(SELECTpayments.user_id,SUM(amount)ASamountFROMpaymentsINNERJOIN(SELECTDISTINCTuser_idFROMactivitywherelogin_timebetween'2018-04-12'and'2

mysql - 有没有语句计算数据库中读取之间的时间差?

我正在尝试使用2个阅读器进行RFID访问控制,类似于双因素身份验证系统。我一直在尝试计算数据库中不同RFID阅读器的两个时间戳之间的时间差。我尝试了很多不同的方法来查询结果,但总是得到零或错误。我尝试了几个查询命令来计算具有各种组合的时间差ex:timestampdiff。我已经展示了一些我尝试过的。SELECTCOUNT(*)FROMtag_logsWHEREtag_logs=tag_noBETWEENtimestamp('timestamp','timestamp');SELECT*FROMtag_logsWHEREtimediffisBETWEEN(MINUTE_SECOND,'

mysql - 在 MySQL 中通过内部连接使用更新语句查找和替换

我有两个表,即ds_message和ds_params,第一个表包含模板,第二个表包含键值对表结构:ds_message_____________________________________________idtemplate_____________________________________________1'Dear{a},thepriceof{b}is{c}'2'Dear{i},youselectedtheproduct{j}'架构:CREATETABLE`ds_message`(`id`intNOTNULL,`template`varchar(500)NOTNULL)

mysql - 如何在 MySQL 查询中放入 IF 语句

我有一个查询,它只是从3个表中进行选择。从评论表中选择一篇文章的所有评论从UserID表中选择以查找其类型的用户如果用户是一种类型,则搜索一个表...否则搜索另一个表以获取最终信息。我该怎么做?我对MySQL有点陌生,非常感谢您的耐心等待!PS-如果不清楚请告诉我...谢谢! 最佳答案 OK那么假设类型条件是-如果用户如果类型为“foo”,则搜索表“foovalues”,否则搜索表“finalvalues”....假设表结构如下评论评论ID用户身份文章ID用户用户身份用户类型DeclareTestUserTypevarchar(3)

mysql - mysql 更新/设置语句的速度。乘以一列

我在MySql表“temp”中有100万行,并希望将列“t”(intunsigned,indexed)乘以1000。mysql>updatetempsett=1000*t;此过程需要25秒。在非索引列上执行相同的语句需要10秒;有什么想法可以加快这个过程吗?我必须在超过1e5个表上应用它。 最佳答案 您可以关闭索引并在更新完成后重新打开ALTERTABLEtbl_nameDISABLEKEYS;ALTERTABLEtbl_nameENABLEKEYS;或者如果你正在使用myISAM您可以使用delay_key_write标志。您可以

mysql - 我可以在函数中使用 MySQL PREPARE 语句来创建具有可变表名的查询吗

我想创建一个函数,里面有一个选择查询,可以用于多个数据库表,但我不能使用变量作为表名。我可以在函数中使用PREPARE语句来解决这个问题吗?一个例子:FUNCTION`TESTFUNC`(dbTableVARCHAR(25))RETURNSbigint(20)BEGINDECLAREdateregDATETIME;DECLAREstmtVARCHAR(255);SETstmt:=concat('SELECTdateTFROM',dbTable,'ORDERBYdateTDESCLIMIT1');PREPAREstmtFROM@stmt;EXECUTEstmt;RETURNdateT;E

mysql - 更新百分比变化的 SQL 语句

我搜索过S.O.对于这个答案并且已经接近答案但仍然不够接近。我很想知道MySQL是否具有此功能。我用Perl和MySQL4开发过,现在正在使用MySQL4。我的table看起来像这样......符号varchar(25)todayDate日期兴趣int(11)我的问题是......这些符号(大约200,000个)每天都会更新一个新的兴趣字段数字。一个例子是这个....symbol|todayDate|interest-------------------------------A202015|2010-10-26|150A202015|2010-10-25|100理想情况下,我能够做的

sql - Mysql 语句(FULL JOIN 语法错误)

我的sql语句有什么问题,它说问题在FULLJOIN附近,但我很困惑:SELECT`o`.`name`AS`offername`,`m`.`name`AS`merchantName`FROM`offer`AS`o`FULLJOIN`offerorder`AS`of`ONof.offerId=o.idINNERJOIN`merchant`AS`m`ONo.merchantId=m.idGROUPBY`of`.`merchantId`请温柔点,我不是sqlfundi 最佳答案 MySQL不提供完全连接,您可以使用一对LEFT+RIGHT